1. Field of the Invention
The present invention generally relates to ontology engineering. More particularly, the present invention relates to ontology evolution and maintenance of changes within ontology systems.
2. The Relevant Technology
Internet and other open connectivity environments create a strong demand for sharing the semantics of data. Ontology systems are becoming increasingly essential for nearly all computer applications. Organizations are looking towards them as vital machine-processable semantic resources for many application areas. An ontology is an agreed understanding (i.e. semantics) of a certain domain, axiomatized and represented formally as logical theory in the form of a computer-based resource. By sharing an ontology, autonomous and distributed applications can meaningfully communicate to exchange data and thus make transactions interoperate independently of their internal technologies.
Ontologies capture domain knowledge of a particular part of the real-world, e.g., knowledge about product delivery. Ontologies can be seen as a formal representation of the knowledge by a set of concepts and the relationships between those concepts within a domain. Ontologies must capture this knowledge independently of application requirements (e.g. customer product delivery application vs. deliverer product delivery application). Application-independence is the main disparity between an ontology and a classical data schema (e.g., EER, ORM, UML) although each captures knowledge at the conceptual level. For example, many researchers have confused ontologies with data schemes, knowledge bases, or even logic programs. Unlike a conceptual data schema or a “classical” knowledge base that captures semantics for a given enterprise application, the main and fundamental advantage of an ontology is that it captures domain knowledge highly independent of any particular application or task. A consensus on ontological content is the main requirement in ontology engineering, and this is what mainly distinguishes it from conceptual data modelling.
The research area of ontology engineering seems to have reached a certain level of maturity, considering the vast amount of contemporary methods and tools for formalising and applying knowledge representation models. However, there is still little understanding of, and support for, the evolutionary aspects of ontologies. This is particularly crucial in distributed and collaborative settings where ontologies naturally co-evolve with their communities of use. For managing the evolution of single ontologies, established techniques from data schema evolution have been successfully adopted, and consensus on a general ontology evolution process model seems to emerge.
Much less explored, however, is the problem of evolution of interorganisational ontologies. In this “complex” and dynamic setting, a collaborative change process model requires more powerful engineering, argumentation and negotiation methodologies, complemented by support for context dependency management. It turns out that much can be learned from other domains where formal artefacts are being collaboratively engineered. In particular, the field of system engineering offers a wealth of techniques and tools for versioning, merging and evolving software artefacts, and many of these techniques can be reused in an ontology engineering setting. The key remaining challenge is to construct a single framework, based on these mechanisms, which can be tailored for the needs of a particular version environment.
Ontologies often reuse and extend (parts of) other ontologies. Many different types of dependencies exist within and between ontological artefacts of various levels of granularity, ranging from individual concepts of definitions to full ontologies. Other dependent artefacts include instances, as well as application programs committing to the ontology. Hence, a change on request in one artefact might imply a cascade of changes in response to all its dependent artefacts. A viable method is needed to log all implications to the ontology and its dependent artefacts.
EP1970844 describes a method for metamodeling using dynamic ontology objects. So called “ontology objects”, i.e. sets of software interfaces and implementations, are updated based on changes in a metamodel: when a change has been made to the metamodel, the ontology objects are updated by generating new source code. A problem herewith is that the change is made on the level of the ontology objects. There is no mapping between ontology model and metamodel. It remains difficult for a participating application to detect and apply corresponding changes to the interface between application and ontology objects.
The same problem occurs in US20071162409, where a command is received from a requestor to modify a table including domain concepts and semantic primitives related to a domain. The table is updated in response to the command. The updated table is then stored as an ontology.
In the paper “Dogma-Mess: A Meaning Evolution Support System for Interorganizational Ontology Engineering” (A. De Moor et al., Conceptual Structures: Inspiration and Application Lecture Notes in Computer Science, vol. 4068, 1 Jan. 2006, pp. 189-202) a model for interorganisational ontology engineering is introduced. The paper is limited to describing the evolution of an ontology system based on a set of specialisations on this ontology, the latter called organisational ontologies. It does not describe evolution operators in great detail. More importantly, it does not consider applications mapped on the ontology system. In other words it does not describe how to evolve the mappings between application paths in an arbitrary data system to conceptual paths in an ontology system based on the changes applied to that ontology system. The paper mentions versioning and change operations, but does not describe this in a formal and detailed way.
“Data Modelling versus Ontology engineering” (P. Spyns et al., ACM Sigmod Record, vol. 31, no. 4, pp. 12-17, 31 Dec. 2002) describes the difference between a data model and an ontology as perceived by the authors, and introduces the DOGMA ontology approach. It does not describe evolution of ontologies, nor does it describe how to evolve the mappings between application paths in an arbitrary data system to conceptual paths in an ontology system based on the changes applied to that ontology system.
In “Object Role Modelling for Ontology Engineering in the DOGMA Framework” (P.Spyns et al., On the Move to Meaningful Internet Systems 2005, OTM Workshop Lecture Notes, vol. 3762, pp. 710-719, 1 Jan. 2005). This paper is limited to a description of some basic issues to be taken into account when using the ORM methodology for ontology engineering from the DOGMA ontology framework point of view. First it discusses the difference between a data model and ontology. Further it discusses natural and formal semantics. Finally, the paper discusses some basic steps to be taken when constructing ontologies. The paper does not touch upon the topics of evolution or versioning.
There is a need to maintain and apply changes to an ontology system at the level of the interface between application and ontology system. This is especially needed when multiple applications are linked to the same ontology system. Adapting for changes may otherwise be a very elaborate job.